<?php
namespace controllers;

require('./models/TaskModel.php');

/**
 * 任务控制器
 */
class TaskController
{
    /**
     * 主页
     */
    public function index()
    {
        // 判断是否登录
        if(isset($_SESSION['user'])) {
            $nextView = 'task/index.php';
            $title = '任务管理';
            $model = new \models\TaskModel();
            // 获取任务主页数据
            $retval = $model->getIndex();
            // 判断是否获取数据成功
            $view = new \views\View($title, $nextView);
            if(isset($retval['status']) && $retval['status'] == false) {
                $view->render();
            } else {
                // 如果成功，跳转至首页
                $view->render($retval);
            }
        } else {
            // 如果没登录跳转至登录页面
            $usersController = new \controllers\UsersController();
            $usersController->login();
        }
    }

    /**
     * 展示任务
     */
    // public function showTask(){
    //     $model = new \models\TaskModel();
    //     return $retval = $model->getIndex();
    // }

    /**
     * 领取任务
     */
    public function getTask()
    {
        $task = $_POST['title'];                    // 任务标题
        $data = ['principal' => USER];              // 设置负责人
        $model = new \models\TaskModel();
        // 更新任务数据
        $retval = $model->updateTask($task, $data);
        if ($retval['status'] == true) {
            // 跳转回任务主页
            $this->index();
        } else {
            echo $retval['message'];
        }
    }

    /**
     * 完成任务
     */
    public function finishTask()
    {
        $task = $_POST['title'];                    // 任务标题
        $data = ['status' => '1'];                  // 设置任务状态
        $model = new \models\TaskModel();
        // 更新任务数据
        $retval = $model->updateTask($task, $data);
        if ($retval['status'] == true) {
            $usersController = new \controllers\UsersController();
            // 跳转回用户首页
            $usersController->index();
        } else {
            echo $retval['message'];
        }
    }

    /**
     * 放弃任务
     */
    public function giveUpTask()
    {
        $task = $_POST['title'];                    // 任务标题
        $data = ['principal' => ''];                // 负责人置空
        $model = new \models\TaskModel();
        // 更新任务数据
        $retval = $model->updateTask($task, $data);
        if ($retval['status'] == true) {
            $usersController = new \controllers\UsersController();
            // 跳转回用户首页
            $usersController->index();
        } else {
            echo $retval['message'];
        }
    }

    /**
     * 发布任务
     */
    public function publishTask()
    {
        $data['title'] = $_POST['task_title'];      // 任务标题
        $data['task_info'] = $_POST['task_info'];   // 任务详情 
        $model = new \models\TaskModel();
        // 添加任务进数据库
        $retval = $model->addTask($data);
        if ($retval['status'] == true) {
            // 跳转任务主页
            $this->index();
        } else {
            echo $retval['message'];
        }
    }

    /**
     * 删除任务
     */
    public function deleteTask()
    {
        $data['title'] = $_POST['title'];      // 任务标题
        $model = new \models\TaskModel();
        // 从数据库删除任务
        $retval = $model->deleteTask($data);
        if ($retval['status'] == true) {
            $usersController = new \controllers\UsersController();
            // 跳转回用户首页
            $usersController->index();
        } else {
            echo $retval['message'];
        }
    }

    /**
     * 搜索任务
     */
    public function searchTask()
    {
        if(isset($_POST['keyword'])) {
            $title = '任务搜索';
            $nextView = 'task/search.php';
            $data['keyword'] = $_POST['keyword'];      //搜索任务标题
            $model = new \models\TaskModel();
            // 模糊查询
            $retval = $model->search($data);
            // 渲染视图
            $view = new \views\View($title, $nextView);
            $view->render($retval);
            // if(isset($retval['status']) && $retval['status'] == false) {
                
            //     echo $retval['message'];
            // } else {
            //     // 如股查询成功，跳转至搜索结果页面
            //     $view = new \views\View($title, $nextView);
            //     $view->render($retval);
            // }
        }
    }
}